Private network-to-network interface

ABSTRACT

The specification describes techniques for evaluating important network performance parameters, for example, call set-up time, for private network-to-network (PNNI) interfaces. These are used to determine the optimum size of the peer groups in the PNNI network.

FIELD OF THE INVENTION

This invention relates to private network-to-network interfaces (PNNI), and more specifically to methods for constructing PNNI networks with optimized architecture.

BACKGROUND OF THE INVENTION

Private network-to-network interfaces (PNNI) refers to very large ATM networks that communicate between multiple private networks. A typical PNNI network is organized in peer groups. These are subunits of the total network that are interconnected as a group, with each group then interconnected in the PNNI network. An advantage of this architecture is that communications between members in a peer group can be independent of overall network management. When a communication between a node in one peer group and a node in another peer group is initiated, the PNNI protocol is used for that call set-up and management. The size of the peer groups, i.e. the number of nodes in each peer group, also affects the overall performance of the PNNI network.

Depending on the number of nodes served by the PNNI network, the architecture may be flat (non-hierarchical) or may have two or more hierarchical levels. When the network topology moves to multiple level architecture, several new effects on network performance are introduced. A primary motive for introducing new levels in a PNNI network is to increase routing efficiency and reduce call set-up time. However, added levels increase cost and management complexity. Thus there is an important trade-off when considering adding new hierarchical levels. A technique for resolving this trade-off is described and claimed in my co-pending application Ser. No. ______.

In both flat and multi-level networks, the size of the peer groups, i.e. the number of nodes in each peer group, affects the overall performance of the PNNI network. Thus the division of the network nodes into peer groups presents an important design variable that has not been generically solved previously in a rigorous fashion.

BRIEF STATEMENT OF THE INVENTION

According to the invention, a technique has been developed that evaluates important network performance parameters, for example, call set-up time, in terms of the peer group size. These are used to determine the optimum peer group size for a given PNNI network.

BRIEF DESCRIPTION OF THE DRAWING

The invention may be better understood when considered in conjunction with the drawing in which:

The FIGURE is a schematic diagram of a PNNI network showing a sample peer group configuration.

DETAILED DESCRIPTION OF THE INVENTION

With reference to FIGURE 1, a flat topological PNNI network is represented. These networks typically have many nodes. For simplicity, the illustration shows relatively few nodes 11, organized in peer groups as shown. The peer groups in the figure are illustrated as having five nodes per peer group. For the illustration, the peer group size is arbitrarily chosen. That design approach, more or less, typically with some empirical data or design experience, is used to determine the peer group size in conventional network designs. But a rigorous solution to the optimum peer group size, in terms of identifiably network performance parameters has not been available. The following section describes a rigorous approach to determining the optimum peer group size.

In the discussion that follows, let N be the total number of lowest-level nodes (i.e., the number of ATM switches). Let x₁ be the number of lowest-level nodes in each level-1 PG, and let x₂=N/x₁ be the number of level-1 PGs (all variables are assumed to be continuous).

For a flat network, define

={α|α>1}. We assume the time complexity of computing a minimum cost path in a flat (non-hierarchical) network with z nodes is R₁(z)=α₀z^(α), where α₀>0 and αε

. For example, for Dijkstra's shortest path method we have a α=2.

Certain nodes are identified as border nodes. A level-1 border node of a PG is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG. For example, if each U.S. state is a level-1 PG, and if there is a trunk from switch a in Chicago to switch b in Denver, then a and b are level-1 border nodes. Define Γ={γ|0≦γ<1}. We assume the number of level-1 border nodes in a PG with x₁ lowest-level nodes is bounded above by B₁(x₁)=γ₀x₁ ^(γ), where γ₀>0 and γεΓ. The case where each PG has a constant number k of border nodes is modelled by choosing γ₀=k and γ=0. The case where the border nodes are the (approximately 4√{square root over (x₁)}) boundary nodes of a square grid of x₁ switches is modelled by choosing γ₀=4 and γ=½.

Define

={κ|0≦κ≦1}. We assume the total number of level-1 PGs, excluding the source level-1 PG, that the connection visits is bounded above by V₁(x₂)=κ₀(x₂ ^(κ)−1), where κ₀>0 and κε

. Note that V₁(1)=0, which means that in the degenerate case of exactly one level-1 PG, there are no PGs visited other than the source PG.

This functional form for V₁(x₂) is chosen since the expected distance between two randomly chosen points in a square with side length L is kL, where k depends on the probability model used: using rectilinear distance, with points uniformly distributed over the square, we have k=⅔; using Euclidean distance we have k=( 1/15)[2+√{square root over (2)}+5 log(√{square root over (2)}+1]≈0.521; with an isotropic probability model we have k=[(2√{square root over (2)}/(3π)]log(1+√{square root over (2)})≈0.264. If the x₂ PGs are arranged in a square grid, a random connection will visit approximately κ√{square root over (x₂)}PGs. Choosing κ₀=k and κ=½, the total number of PGs visited is approximately κ₀x₂ ^(κ). Choosing κ₀=1 and κ=1 models the worst case in which the path visits each level-1 PG.

The source node of a connection sees the x₁ nodes in the source PG, and at most B₁(x₁) border nodes in each of the x₂−1 non-source PGs. A path computation is performed by the entry border node of at most V₁(x₂) non-source PGs. In each non-source PG visited, the entry border node sees only the x₁ nodes in its PG when computing a path across the PG (or a path to the destination node, in the case of the destination PG), and so the path computation time complexity at each entry border node is R₁(x₁). Hence the total path computation time is bounded above by R₁(x₁+(x₂−1)B₁(x₁))+V₁(x₂)R₁(x₁)=α₀[x₁+(x₂−1)γ₀x₁ ^(γ)]^(α)+κ₀(x₂ ^(κ)−1)α₀x₁ ^(α). We ignore the constant factor α₀. The optimization problem for a 2-level hierarchy is thus: minimize [x₁+(x₂−1)γ₀x₁ ^(γ)]^(α+κ) ₀x₁ ^(α)(x₂ ^(κ)−1) subject to x₁x₂=N.

We next transform this optimization problem to a convex optimization problem (which has a convex objection function, a convex feasible region, and any local minimum is also a global minimum. We approximate x₂−1 by x₂ and x₂ ^(κ)−1 by x₂ ^(κ), yielding the objective function [x₁+γ₀x₁ ^(γ)x₂]^(α)+κ₀x₁ ^(α)x₂ ^(κ), which also upper bounds the total path computation time. We rewrite the constraint x₁x₂=N as Nx₁ ⁻¹x₂ ⁻¹=1, which can be replaced by Nx₁ ⁻¹x₂ ⁻¹≦1, since the inequality must be satisfied as an equality at any solution of the optimization problem. Letting y=x₁+γ₀x₁ ^(γ)x₂ yields the optimization problem: minimize y^(α)+κ₀x₁ ^(α)x₂ ^(κ)subject to x₁+γ₀x₁ ^(γ)x₂≦y and Nx₁ ⁻¹x₂ ⁻¹≦1. The inequality constraint x₁+γ₀x₁ ^(γx) ₂≦y must be satisfied as an equality in any solution; we rewrite this constraint as x₁y⁻¹+γ₀x₁ ^(γ)x₂y⁻¹≦1. Let s₁=log x₁, s₂=log x₂, s=(s₁, s₂), and t=log y. Combining exponential terms, we obtain the optimization problem

₂(N): minimize f ₂(s, t)=e ^(αt) +κ ₀ e ^((αs) ¹ ^(+κs) ² ⁾  (1) subject to e ^((s) ¹ ^(−t))+γ₀ e ^((γs) ¹ ^(+s) ² ^(−t)≦)1;  (2) Ne ^((−s) ¹ ^(−s) ² ^()≦)1.  (3) Problem

₂(N) it is a special type of convex optimization problem called a geometric program. Geometric programs are particularly well suited to engineering design, with a rich duality theory permitting particularly efficient solution methods.

The following algorithm determines values for s₁ and s₂ that solve the optimization problem

₂(N). Thus, the algorithm determines the optimal x₁(the optimal PG size) and the optimal x₂(the optimal number of PGs).

-   Step 1. Choose any {overscore (s)}=({overscore (s)}₁, {overscore     (s)}₂) such that e^({overscore (s)}) ¹ e^({overscore (s)}) ² =N, and     choose {overscore (t)} such that e^({overscore (s)}) ¹     +γ₀e^((γ{overscore (s)}) ¹ ^(+{overscore (s)}) ²     ⁾=e^({overscore (t)}). -   Step 2. Define ε₁=e^(α{overscore (t)})/f₂({overscore (s)},     {overscore (t)}) and ε₂=κ₀e^((α{overscore (s)}) ¹     ^(+κ{overscore (s)}) ² ⁾/f₂({overscore (s)}, {overscore (t)}). -   Step 3. Define δ=(δ₁, δ₂, δ₃, δ₄) by     ${\delta_{1} = 1},{\delta_{2} = \frac{{\varepsilon_{1}{\alpha\left( {1 - \gamma} \right)}} + {\varepsilon_{2}\left( {\kappa - \alpha} \right)}}{2 - \gamma}},{\delta_{3} = {{\varepsilon_{1}\alpha} - \delta_{2}}},{\delta_{4} = {{\varepsilon_{1}\alpha} + {\varepsilon_{2}\kappa} - {\delta_{2}.}}}$ -   Step 4. Define b₁=log(N), b₂=log (δ₂/(ε₁α)), and b₃=log     (δ₃/(γ₀ε₁α)).     -   Define (s, t)=(s₁, s₂, t) by         s ₁=(b ₁ +b ₂ −b ₃)/(2−γ), s ₂ =b ₁ −s ₁ , t=s ₁ =b ₂.     -   and d=(s, t)−({overscore (s)}, {overscore (t)}). -   Step 5. Use any well-known technique (e.g., bisection) to obtain a     value θ* solving the 1-dimensional optimization problem: minimize     {f₂(({overscore (s)}, {overscore (t)})+θd)|0≦θ≦1}. If θ*τ for some     small positive stopping tolerance τ, go to Step 6. Otherwise, set     ({overscore (s)}, {overscore (t)})←({overscore (s)}, {overscore     (t)})+θ*d and go to Step 2. -   Step 6. The optimal PG size is x₁*=e^({overscore (s)}) ¹ and the     optimal number of PGs is x₂*=e^({overscore (s)}) ² . Stop.

For a three-level PNNI network, let N be the total number of lowest-level nodes, let x₁ be the number of lowest-level nodes in each level-1 PG, x₂ be the number of level-1 PGs in each level-2 PG, and x₃ be the number of level-2 PGs. Thus x₁x₂x₃=N.

As for H=2, we assume the complexity of routing in a flat network with z lowest-level nodes is R₁(z)=α₀z^(α), where α₀>0 and αε

.

As for H=2, certain nodes are identified as border nodes. A level-1 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-1 PG within the same level-2 PG. A level-2 border node of a PG in a 3-level network is a lowest-level node which is an endpoint of a trunk linking the PG to another level-2 PG within the same PNNI network. For example, suppose each country in the world is a level-2 PG, and each U.S. state is a level-1 PG. Then if there is a trunk from a switch a in Boston to a switch b in London, a and b are level-2 border nodes.

For h=1, 2, we assume that the number of level-h border nodes in a level-h PG with z lowest-level nodes is bounded above by B_(h)(z)=γ₀z^(γ), where γ₀>0 and γεΓ. Thus each level-1 PG has at most B₁(x₁)=γ₀x₁ ^(γ)level-1 border nodes, and each level-2 PG has at most B₂(x₁x₂)=γ₀(x₁x₂)^(γ) level-2 border nodes.

We assume that the total number of level-2 PGs, excluding the source level-2 PG, that the connection visits is bounded above by V₂(x₃)=κ_(o)(x₃ ^(κ)1), where κ₀>0 and κε

. Note that V₂(1)=0, which means that in the degenerate case where there is one level-2 PG, there are no level-2 PGs visited other than the source level-2 PG. We assume that the total number of level-1 PGs visited within the source level-2 PG, excluding the source level-1 PG, is bounded above by V₁(x₂)=κ₀(x₂ ^(κ)−1).

The source node sees the x₁ nodes in its level-1 PG, at most B₁(x₁) level-1 border nodes in each of the x₂−1 level-1 PGs (excluding the source level-1 PG) in the same level-2 PG as the source, and at most B₂(x₁x₂) level-2 border nodes in each of the x₃−1 level-2 PGs (excluding the source level-2 PG) in the PNNI network. Thus the total number of nodes seen by the source is bounded above by x ₁+(x ₂−1)B ₁(x ₁)+(x ₃−1)B ₂(x ₁ x ₂)=x ₁+(x ₂−1)/γ₀ x ₁ ^(γ)+(x ₃−1)γ₀(x ₁ x ₂)^(γ). The time complexity of the source path computation is bounded above by R ₁(x ₁+(x ₂−1)B ₁(x ₁)+(x ₃−1)B ₂(x ₁x₂)).

The total path computation time for all the level-1 PGs in the source level-2 PG, excluding the source level-1 PG, is at most V₁(x₂)R₁(x₁). For z>0, define R₂(z)=ω₀z^(ω). The total path computation time for each of the V₂(x₃) level-2 PGs visited (other than the source level-2 PG) is, by definition, f₂*(x₁x₂), which by Theorem 2 is bounded above by R₂(x₁x₂).

To minimize the upper bound on the total path computation time for a three-level net-work, we solve the optimization problem: minimize R₁(x₁+(x₂−1)B ₁(x ₁)+(x ₃−1)B ₂(x ₁ x ₂))+V ₁(x ₂)R ₁(x ₁)+V ₂(x ₃)R ₂(x ₁ x ₂) subject to x₁x₂x₃=N. We approximate x₂−1 by x₂, x₃−1 by x₃, x₂ ^(κ)−1 by x₂ ^(κ), and x₃ ^(κ)−1 by x₃ ^(κ), which preserves the upper bound. Introducing the variable y, we obtain the optimization problem: minimize α₀y^(α)+κ₀x₂ ^(κ)α₀x₁ ^(α)+κ₀x₃ ^(κ)ω₀(x₁x₂)^(ω) subject to x₁+x₂γ₀x₁ ^(Γ)+x₃γ₀+(x₁x₂)^(γ)≦y and Nx₁ ⁻¹x₂ ⁻¹x₃ ⁻¹≦1. Letting s₁=log x₁, s₂=log x₂, s₃=log x₃, s=(s₁, s₂, s₃), and t=log y, we obtain the geometric program

₃(N): minimize f ₃(s, t)=α₀e^(αt)+α₀κ₀ e ^((αs) ¹ ^(+κs) ² ⁾+κ₀ω₀ e ^((ω(s) ¹ ^(+s) ² ^()+κs) ³ ⁾  (4) subject to e ^(s) ¹ ^(−t)+γ₀ e ^((γs) ¹ ^(s) ² ^(−t))+γ₀ e ^((γ(s) ¹ ^(+s) ² ^()+s) ³ ^(−t))≦1  (5) Ne ^((−s) ¹ ^(−s) ² ^(−s) ³⁾ ≦1  (6)

The following algorithm determines values for s₁, s₂, and s₃ that solve the optimization problem

₃(N). Thus, the algorithm determines the optimal x₁ (the optimal level-1 PG size), x₂ (the optimal number of level-1 PGs in each level-2 PG), and x₃ (the optimal number of level-2 PGs).

-   Step 1. Choose any {overscore (s)}=(d₁, {overscore (s)}₂, {overscore     (s)}₃) such that e^({overscore (s)}) ¹ e^({overscore (s)}) ²     e^({overscore (s)}) ³ =N, and choose {overscore (t)} such that     e ^({overscore (s)}) ¹ +γ₀ e ^((γ{overscore (s)}) ¹     ^(+{overscore (s)}) ² ⁾+γ₀e^((γ({overscore (s)}) ¹     ^(+{overscore (s)}) ² ^()+{overscore (s)}) ³ ⁾ =e     ^({overscore (t)}). -   Step 2. Define ε₁=α₀e^(α{overscore (t)})/f₃({overscore (s)},     {overscore (t)}), ε₂=α₀κ₀e^((α{overscore (s)}0) ¹     ^(κ{overscore (s)}) ² ⁾/f₃({overscore (s)}, {overscore (t)}), and     ε₃=κ₀ω₀e^((ω(s) ^({overscore (1)}) ^(s) ^({overscore (2)})     ^()+κ{overscore (s)}) ³ ⁾/f₃({overscore (s)}, {overscore (t)}).

Define (α1, α₂, α₃, α₄)=(ε₂α+ε₃ω, ε₂κ+ε₃ω, ε₃κ, ε₁α).

-   Step 3. Define δ=(δ₁, δ₂, δ₃, δ₄, δ₅) by δ₁=1,     δ₃=[(1−γ)(α₁+α₄)+(γ−2)α₂+α₃]/(γ²−3γ+3),     δ₂=(1−γ)δ₃+α₂−α₁, δ₄=α₄−δ₂−δ₃, and δ₅=α₂+δ₃+γδ₄. -   Step 4. Define λ=δ₂+δ₃+δ₄, and define b₁=log(N), b₂=log(δ₂/λ),     b₃=log(δ₃/(γ₀λ)),     -   and b₄=log(δ₄/(γ₀λ)). Define (s, t)=(s₁, s₂, s₃, t) by         s ₁ =[b ₁ +b ₂(2−γ)+b ₃(γ−1)−b ₄]/(γ²−3γ+3), t=s ₁ −b ₂ , s ₂ =b         ₃ +t−γs ₁,     -   and s₃=b₁=s₁−s₂. Define d=(s, t)−({overscore (s)}, {overscore         (t)}). -   Step 5. Use any well-known technique (e.g., bisection) to obtain a     value θ* solving the 1-dimensional optimization problem: minimize     {f₃(({overscore (s)}, {overscore (t)})+θd) |0≦θ≦1}. If θ*<τ for some     small positive stopping tolerance τ, go to Step 6. Otherwise, set     ({overscore (s)}, {overscore (t)})←({overscore (s)}, {overscore     (t)})+θ*d and go to Step 2. -   Step 6. The optimal level-1 PG size is x₁*=e^({overscore (s)}) ¹ ,     the optimal number of level-1 PGs in each level-2 PG is     x₂*=e^({overscore (s)}) ² , and the optimal number of level-2 PGs is     x₃*=e^({overscore (s)}) ³ . Stop.

Various additional modifications of this invention will occur to those skilled in the art. All deviations from the specific teachings of this specification that basically rely on the principles and their equivalents through which the art has been advanced are properly considered within the scope of the invention as described and claimed. 

1. A method for constructing a private network-to-network interface (PNNI) network, the PNNI network comprising a plurality of nodes, comprising dividing the nodes into peer groups, and interconnecting the peer groups, wherein the number of nodes interconnected in the peer groups is determined using the following steps: (1) Set {overscore (s)}=(s₁,{overscore (s)}₂) such that e^({overscore (s)}) ¹ e^({overscore (s)}) ² =N, and set {overscore (t)} such that e^({overscore (s)}) ¹ +γ₀e^((γ{overscore (s)}) ¹ ^(+{overscore (s)}) ² ⁾=e^({overscore (t)}), (2) set f₂({overscore (s)}, {overscore (t)})=e^(α{overscore (t)})+κ₀e^((α{overscore (s)}) ¹ ^(+κ{overscore (s)}) ² ⁾, set ε₁=e^(α{overscore (t)})/f₂({overscore (s)}, {overscore (t)}) and ε₂=κ₀e^((α{overscore (s)}) ¹ ^(+κ{overscore (s)}) ² ⁾/f₂({overscore (s)}, {overscore (t)}), (3) define δ=(δ₁, δ₂, δ₃, δ₄) by ${\delta_{1} = 1},{\delta_{2} = \frac{{\varepsilon_{1}{\alpha\left( {1 - \gamma} \right)}} + {\varepsilon_{2}\left( {\kappa - \alpha} \right)}}{2 - \gamma}},{\delta_{3} = {{\varepsilon_{1}\alpha} - \delta_{2}}},{\delta_{4} = {{\varepsilon_{1}\alpha} + {\varepsilon_{2}\kappa} - \delta_{2}}},$ (4) set b₁=log(N), b₂=log (δ₂/(δ₁α)), b₃=log (δ₃/(γ₀ε₁α)), define (s, t)=(s₁, s₂, t) by s ₁=(b ₁ +b ₂ −b ₃)/(2−γ), s₂ =b ₁ −s _(i) , t=s ₁ −b ₂, and set d=(s, t)−({overscore (s)}, {overscore (t)}), (5) set θ* to the point minimizing f₂(({overscore (s)}, {overscore (t)})+θd) over the range 0≦θ≦1, and set ({overscore (s)}, {overscore (t)})←({overscore (s)}, {overscore (t)})+θ*d, (6) set x₁*=e^({overscore (s)}) ¹ and x₂*=e^({overscore (s)}) ² .
 2. A method for constructing a private network-to-network interface (PNNI) network, the PNNI network comprising a plurality of nodes, comprising dividing the nodes into peer groups, and interconnecting the peer groups, wherein the number of nodes interconnected in the peer groups is determined using the following steps: (1) Set s=({overscore (s)}₁,{overscore (s)}₂) such that e^({overscore (s)}) ¹ e^({overscore (s)}) ² e^({overscore (s)}) ³ N, and set {overscore (t)} such that e^({overscore (s)}) ¹ +γ₀e^((γ{overscore (s)}) ¹ ^(+{overscore (s)}) ² ⁾+γ₀e^((γ({overscore (s)}) ¹ ^(+{overscore (s)}) ² ^()+{overscore (s)}) ³ ⁾=e^({overscore (t)}), (2) set f₃({overscore (s)}, {overscore (t)})=α₀e^(α{overscore (t)})+α₀κ₀e^((α{overscore (s)}) ¹ ^(+κ{overscore (s)}) ² ⁾κ₀ω₀e^((ω({overscore (s)}) ¹ ^(+{overscore (s)}) ² ^()+κ{overscore (s)}) ³⁾ , set ε₁=α₀e^(α{overscore (t)})/f₃({overscore (s)}, {overscore (t)}), ε₂=α₀κ₀e^((αs) ^({overscore (1)}) ^(+κs) ^({overscore (2)}) ⁾/f₃({overscore (s)}, {overscore (t)}), ε₃=κ₀ω₀e^((ω({overscore (s)}) ¹ ^(+{overscore (s)}) ² ^()+κ{overscore (s)}) ³ ⁾/f₃({overscore (s)}, {overscore (t)}), set (α₁, α₂, α₃, α₄)=(ε₂α+ε₃ω, ε₂κ+ε₃ω, ε₃κ₁ε₁α), (3) define δ=(δ₁, δ₂, δ₃, δ₄, δ₅) by δ₁=1, δ₃=[(1−γ)(α₁+α₄)+(γ−2)α₂+α₃]/(γ²−3γ+3), δ₂=(1−γ)δ₃+α₂−α₁, δ₄=α₄−δ₂−δ₃, and δ₅=α₂+δ₃+γδ₄, (4) set π=δ₂+δ₃+δ₄, and set b₁=log(N), b₂=log(δ₂/λ), b₃=log(δ₃/(γ₀λ)), and b₄=log(δ₄/(γ₀λ)), define (s, t)=(s₁, s₂, s₃, t) by s ₁ =[b ₁ +b ₂(2−γ)+b ₃(γ−1)−4]/(γ²−3γ+3), t=s ₁ −b ₂ , s ₂ =b ₃ +t−γs ₁, and s₃=b₁−s₁−s₂, set d=(s, t)−({overscore (s)}, {overscore (t)}) (5) set θ* to the point minimizing f₃(({overscore (s)}, {overscore (t)})+θd) over the range 0≦θ<1, and set ({overscore (s)}, {overscore (t)})←({overscore (s)}, {overscore (t)})+θ*d, (6) set x₁*=e^({overscore (s)}) ¹ , x₂*=e^({overscore (s)}) ² and x₃=e^({overscore (s)}) ³ . 